#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    int  offsetCellY=0;
    this->resize(300,680);//模拟qq主窗口

    my_cell=new QQCell("好友列表",offsetCellY,this);
    my_cell->addCellFriend("jack", true);
    my_cell->addCellFriend("milo", false);

    offsetCellY=my_cell->height();
    my_cellblack=new QQCell("黑名单",offsetCellY,this);
    my_cellblack->addCellFriend("jks", true);
    my_cellblack->addCellFriend("milo", false);
    offsetCellY+=my_cellblack->height();
    newcell=new QQCell("群组",offsetCellY,this);
    newcell->addCellFriend("milo", false);
    connect(my_cell,&QQCell::sigCellStatusChange,this,&Widget::onCellStatusChange);
    connect(my_cellblack,&QQCell::sigCellStatusChange,this,&Widget::onCellStatusChange);
}

Widget::~Widget() {

}

void Widget::onCellStatusChange(QQCell *cell)
{
    if(cell == my_cell)//布局联动计算不完整
    {
        // 好友列表状态改变，调整黑名单位置
        my_cellblack->resizeCell(my_cell->height());
        // 同时也要调整第三个单元格的位置
        newcell->resizeCell(my_cell->height() + my_cellblack->height());
    }
    else if(cell == my_cellblack)
    {
        // 黑名单状态改变，调整第三个单元格位置
        newcell->resizeCell(my_cell->height() + my_cellblack->height());
    }
    else if(cell == newcell)
    {
        // 如果第三个单元格也有状态变化，可以在这里处理
    }
}



